package com.ztgf.shopping.models.vo.audit;

import com.ztgf.shopping.models.dto.audit.ProcessVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

/**
 * @Description:
 * @Author: mxli
 * @Date: 2020-12-07 17:07
 **/
@Data
public class RegisterVO implements Serializable {
    @ApiModelProperty(value = "提交状态 0初次提交， 1重新提交")
    private ProcessVO substatus;
    @ApiModelProperty(value = "基本信息")
    private BaseInfoVO base;
    @ApiModelProperty(value = "资质", required = true)
    private List<QualificationInfoVO> qualificationInfoVOList = new ArrayList<>();
    @ApiModelProperty(value = "审核")
    private AuditInfoVO audit;

    @Data
    public class BaseInfoVO {
        @ApiModelProperty(value = "手机号", required = true)
        private ProcessVO mobile;
        @ApiModelProperty(value = "财务负责人手机", required = true)
        private ProcessVO payMobile;
        @ApiModelProperty(value = "财务负责人手机验证码", required = true)
        private ProcessVO payCaptcha;
        @ApiModelProperty(value = "邮箱", required = true)
        private ProcessVO email;
        @ApiModelProperty(value = "密码", required = true)
        private ProcessVO password;
        @ApiModelProperty(value = "验证码", required = true)
        private ProcessVO captcha;
        @ApiModelProperty(value = "联系人名称", required = true)
        private ProcessVO contactName;
        @ApiModelProperty(value = "公司名称", required = true)
        private ProcessVO name;
        @ApiModelProperty(value = "公司地址")
        private ProcessVO address;
        @ApiModelProperty(value = "邀请码")
        private ProcessVO invitationCode;
        @ApiModelProperty(value = "法人")
        private ProcessVO legalPerson;
        @ApiModelProperty(value = "法人身份证号")
        private ProcessVO idCard;
        @ApiModelProperty(value = "法人证件类型 0身份证，1护照。默认0")
        private ProcessVO idCardType;
        @ApiModelProperty(value = "统一信用代码")
        private ProcessVO creditCode;
    }

    @Data
    public class QualificationInfoVO {
        @ApiModelProperty(value = "文件地址 多个以逗号隔开")
        private ProcessVO fileUrl;
        @ApiModelProperty(value = "开始时间")
        private ProcessVO beginDate;
        @ApiModelProperty(value = "结束时间")
        private ProcessVO endDate;
        @ApiModelProperty(value = "类型 0营业执照，1法人身份证，2开户许可证，3商标注册证书，4续展证明文件，5ISO认证书，6品牌授权书")
        private ProcessVO qtype;
    }

    @Data
    public class AuditInfoVO {
        @ApiModelProperty(value = "用户ID")
        private ProcessVO userId;
        @ApiModelProperty(value = "审核人ID")
        private ProcessVO sysUserId;
        @ApiModelProperty(value = "审核表ID")
        private ProcessVO auditId;
        @ApiModelProperty(value = "审核状态 状态 0审核中，1审核通过，2审核打回，3审核不通过")
        private ProcessVO status;
        @ApiModelProperty(value = "审核类型 0注册，1开店，2资质变更，3新增品牌，4新增类目")
        private ProcessVO audittype;
        @ApiModelProperty(value = "审核意见")
        private ProcessVO content;
    }
}